﻿using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Caching.Distributed;
using MySqlX.XDevAPI.Common;
using Newtonsoft.Json;
using SqlSugar;
using System.Net.Http.Headers;
using System.ServiceModel.Syndication;
using System.Text;
using System.Xml;
using ztDataNet.db;

[Route("api/[controller]")]
[ApiController]
public class RssController : ControllerBase
{
    private static readonly HttpClient client = new HttpClient();
    /// <summary>
    /// 每日发送
    /// </summary>
    /// <returns></returns>
    [HttpGet]
    public async Task<ActionResult<IEnumerable<RssItem>>> Get()
    {
        
            return Ok(new utils().FetchAndPostRssItems());
        
    }
    /// <summary>
    /// 今天黄历
    /// </summary>
    /// <returns></returns>
    [HttpGet("GetLunarDate")]
    public async Task<ActionResult<string>> GetLunarDate()
    {
        var d = new utils().LunarDate();
        //var res = await new utils().PostMarkdownToUrl(d.html, "UID_hJR4jmREqNwZseTPYkmWL1SEJcXO");
        return Ok(d);

    }

    /// <summary>
    /// 万年历
    /// </summary>
    /// <param name="dete"></param>
    /// <returns></returns>
    [HttpGet("GetDate")]
    public async Task<ActionResult<string>> GetDate(string dete)
    {
        var d = new utils().LunarDate(DateTime.Parse(dete));
        //var res = await new utils().PostMarkdownToUrl(d.html, "UID_hJR4jmREqNwZseTPYkmWL1SEJcXO");
        return Ok(d);

    }

    /// <summary>
    /// 天气预报
    /// </summary>
    /// <param name="cityName"></param>
    /// <returns></returns>
    [HttpGet("GetWeather")]
    public async Task<IActionResult> GetWeather(string cityName)
    {
        //编码查询单独使用了一个方法
        int citycode = publicfun.GetKeys(cityName);
        using var client = new HttpClient();
        //请求的基础地址，一般是域名
        client.BaseAddress = new Uri("http://www.nmc.cn");
        //在请求标头中，我们指定User-Agent
        client.DefaultRequestHeaders.Add("User-Agent", "CJAVAPY BOT");
        client.DefaultRequestHeaders.Accept.Add(
                //设置accept标头，告诉JSON是可接受的响应类型
                new MediaTypeWithQualityHeaderValue("application/json"));
        //实际请求地址
        var url = $"rest/weather?stationid={citycode}&_=1672315767048";
        HttpResponseMessage response = await client.GetAsync(url);//get请求
        response.EnsureSuccessStatusCode();
        var result = await response.Content.ReadAsStringAsync();//获取结果
        return Ok(result);//返回json
    }
   
}

public class RssItem
{
    public string Title { get; set; }
    public string Link { get; set; }
}
public static class publicfun
{
    public static int GetKeys(string key)
    {
        Dictionary<string, int> dic = new Dictionary<string, int>();
        dic.Add("澳门", 45011);
        dic.Add("大兴安岭", 50442);
        dic.Add("黑河", 50468);
        dic.Add("齐齐哈尔", 50745);
        dic.Add("伊春", 50774);
        dic.Add("鹤岗", 50775);
        dic.Add("绥化", 50853);
        dic.Add("佳木斯", 50873);
        dic.Add("双鸭山", 50884);
        dic.Add("白城", 50936);
        dic.Add("哈尔滨", 50953);
        dic.Add("七台河", 50973);
        dic.Add("鸡西", 50978);
        dic.Add("阿勒泰", 51076);
        dic.Add("塔城", 51133);
        dic.Add("博州", 51238);
        dic.Add("克拉玛依", 51243);
        dic.Add("石河子", 51356);
        dic.Add("昌吉", 51368);
        dic.Add("伊宁", 51431);
        dic.Add("乌鲁木齐", 51463);
        dic.Add("吐鲁番", 51573);
        dic.Add("阿克苏", 51628);
        dic.Add("巴州", 51656);
        dic.Add("克州", 51704);
        dic.Add("喀什", 51709);
        dic.Add("和田", 51828);
        dic.Add("哈密", 52203);
        dic.Add("酒泉", 52533);
        dic.Add("张掖", 52652);
        dic.Add("金昌", 52675);
        dic.Add("武威", 52679);
        dic.Add("西宁", 52866);
        dic.Add("平安县", 52875);
        dic.Add("兰州", 52889);
        dic.Add("白银", 52896);
        dic.Add("同仁县", 52974);
        dic.Add("临夏", 52984);
        dic.Add("定西", 52995);
        dic.Add("包头", 53446);
        dic.Add("呼和浩特", 53463);
        dic.Add("大同", 53487);
        dic.Add("乌海", 53512);
        dic.Add("石嘴山", 53518);
        dic.Add("朔州", 53578);
        dic.Add("吴忠", 53612);
        dic.Add("银川", 53614);
        dic.Add("榆林", 53646);
        dic.Add("忻州", 53674);
        dic.Add("石家庄", 53698);
        dic.Add("太原", 53772);
        dic.Add("阳泉", 53782);
        dic.Add("邢台", 53798);
        dic.Add("固原", 53817);
        dic.Add("延安", 53845);
        dic.Add("临汾", 53868);
        dic.Add("长治", 53882);
        dic.Add("邯郸", 53892);
        dic.Add("安阳", 53898);
        dic.Add("平凉", 53915);
        dic.Add("铜川", 53947);
        dic.Add("运城", 53959);
        dic.Add("晋城", 53976);
        dic.Add("济源", 53978);
        dic.Add("焦作", 53982);
        dic.Add("新乡", 53986);
        dic.Add("鹤壁", 53990);
        dic.Add("牡丹江", 54094);
        dic.Add("通辽", 54135);
        dic.Add("四平", 54157);
        dic.Add("长春", 54161);
        dic.Add("吉林", 54172);
        dic.Add("赤峰", 54218);
        dic.Add("阜新", 54237);
        dic.Add("铁岭", 54249);
        dic.Add("辽源", 54260);
        dic.Add("锦州", 54337);
        dic.Add("盘锦", 54338);
        dic.Add("鞍山", 54339);
        dic.Add("沈阳", 54342);
        dic.Add("本溪", 54346);
        dic.Add("辽阳", 54347);
        dic.Add("通化", 54363);
        dic.Add("白山", 54371);
        dic.Add("张家口", 54401);
        dic.Add("承德", 54423);
        dic.Add("秦皇岛", 54449);
        dic.Add("葫芦岛", 54453);
        dic.Add("营口", 54471);
        dic.Add("丹东", 54497);
        dic.Add("北京", 54511);
        dic.Add("廊坊", 54515);
        dic.Add("天津", 54527);
        dic.Add("唐山", 54534);
        dic.Add("保定", 54602);
        dic.Add("沧州", 54616);
        dic.Add("大连", 54662);
        dic.Add("衡水", 54702);
        dic.Add("德州", 54714);
        dic.Add("滨州", 54734);
        dic.Add("东营", 54736);
        dic.Add("烟台", 54765);
        dic.Add("威海", 54774);
        dic.Add("聊城", 54806);
        dic.Add("济南", 54823);
        dic.Add("泰安", 54827);
        dic.Add("莱芜", 54828);
        dic.Add("淄博", 54830);
        dic.Add("潍坊", 54843);
        dic.Add("青岛", 54857);
        dic.Add("濮阳", 54900);
        dic.Add("菏泽", 54906);
        dic.Add("济宁", 54915);
        dic.Add("临沂", 54938);
        dic.Add("日照", 54945);
        dic.Add("噶尔县", 55437);
        dic.Add("日喀则", 55578);
        dic.Add("拉萨", 55591);
        dic.Add("合作", 56080);
        dic.Add("昌都县", 56137);
        dic.Add("绵阳", 56196);
        dic.Add("德阳", 56198);
        dic.Add("雅安", 56287);
        dic.Add("成都", 56294);
        dic.Add("资阳", 56298);
        dic.Add("林芝县", 56312);
        dic.Add("乐山", 56386);
        dic.Add("眉山", 56391);
        dic.Add("自贡", 56396);
        dic.Add("宜宾", 56492);
        dic.Add("昭通", 56586);
        dic.Add("丽江", 56651);
        dic.Add("攀枝花", 56666);
        dic.Add("六盘水", 56693);
        dic.Add("保山", 56748);
        dic.Add("大理", 56751);
        dic.Add("楚雄", 56768);
        dic.Add("昆明", 56778);
        dic.Add("曲靖", 56783);
        dic.Add("玉溪", 56875);
        dic.Add("临沧县", 56951);
        dic.Add("思茅", 56964);
        dic.Add("文山县", 56994);
        dic.Add("天水", 57006);
        dic.Add("宝鸡", 57016);
        dic.Add("西安", 57036);
        dic.Add("渭南", 57045);
        dic.Add("咸阳", 57048);
        dic.Add("三门峡", 57051);
        dic.Add("洛阳", 57073);
        dic.Add("郑州", 57083);
        dic.Add("许昌", 57089);
        dic.Add("开封", 57091);
        dic.Add("南阳", 57178);
        dic.Add("漯河", 57186);
        dic.Add("周口", 57195);
        dic.Add("广元", 57206);
        dic.Add("安康", 57245);
        dic.Add("襄樊", 57278);
        dic.Add("驻马店", 57290);
        dic.Add("信阳", 57297);
        dic.Add("巴中", 57313);
        dic.Add("达州", 57328);
        dic.Add("荆门", 57377);
        dic.Add("随州", 57381);
        dic.Add("遂宁", 57405);
        dic.Add("南充", 57411);
        dic.Add("广安", 57415);
        dic.Add("恩施", 57447);
        dic.Add("宜昌", 57461);
        dic.Add("荆州", 57476);
        dic.Add("孝感", 57482);
        dic.Add("武汉", 57494);
        dic.Add("鄂州", 57496);
        dic.Add("黄冈", 57498);
        dic.Add("重庆", 57516);
        dic.Add("大庸", 57558);
        dic.Add("岳阳", 57584);
        dic.Add("咸宁", 57590);
        dic.Add("常德", 57662);
        dic.Add("益阳", 57674);
        dic.Add("长沙", 57687);
        dic.Add("毕节", 57707);
        dic.Add("遵义", 57713);
        dic.Add("铜仁", 57741);
        dic.Add("怀化", 57749);
        dic.Add("娄底", 57763);
        dic.Add("邵阳", 57766);
        dic.Add("湘潭", 57773);
        dic.Add("株洲", 57780);
        dic.Add("萍乡", 57786);
        dic.Add("宜春", 57793);
        dic.Add("新余", 57796);
        dic.Add("安顺", 57806);
        dic.Add("贵阳", 57816);
        dic.Add("凯里", 57825);
        dic.Add("都匀", 57827);
        dic.Add("衡阳", 57872);
        dic.Add("桂林", 57957);
        dic.Add("郴州", 57972);
        dic.Add("赣州", 57993);
        dic.Add("商丘", 58005);
        dic.Add("枣庄", 58024);
        dic.Add("徐州", 58027);
        dic.Add("连云港", 58044);
        dic.Add("亳州", 58102);
        dic.Add("淮北", 58116);
        dic.Add("宿州", 58122);
        dic.Add("宿迁", 58131);
        dic.Add("淮安", 58145);
        dic.Add("盐城", 58151);
        dic.Add("阜阳", 58203);
        dic.Add("蚌埠", 58221);
        dic.Add("淮南", 58224);
        dic.Add("滁州", 58236);
        dic.Add("南京", 58238);
        dic.Add("扬州", 58245);
        dic.Add("泰州", 58246);
        dic.Add("镇江", 58248);
        dic.Add("南通", 58259);
        dic.Add("六安", 58311);
        dic.Add("合肥", 58321);
        dic.Add("巢湖", 58326);
        dic.Add("芜湖", 58334);
        dic.Add("马鞍山", 58336);
        dic.Add("常州", 58343);
        dic.Add("无锡", 58354);
        dic.Add("苏州", 58357);
        dic.Add("上海", 58362);
        dic.Add("黄石", 58407);
        dic.Add("安庆", 58424);
        dic.Add("池州", 58427);
        dic.Add("铜陵", 58429);
        dic.Add("宣城", 58433);
        dic.Add("湖州", 58450);
        dic.Add("嘉兴", 58452);
        dic.Add("绍兴", 58453);
        dic.Add("杭州", 58457);
        dic.Add("舟山", 58477);
        dic.Add("九江", 58502);
        dic.Add("景德镇", 58527);
        dic.Add("金华", 58549);
        dic.Add("南昌", 58606);
        dic.Add("抚州", 58617);
        dic.Add("鹰潭", 58627);
        dic.Add("衢州", 58633);
        dic.Add("丽水", 58646);
        dic.Add("温州", 58659);
        dic.Add("台州", 58660);
        dic.Add("三明", 58828);
        dic.Add("南平", 58834);
        dic.Add("宁德", 58846);
        dic.Add("福州", 58847);
        dic.Add("龙岩", 58927);
        dic.Add("莆田", 58946);
        dic.Add("河池地区", 59023);
        dic.Add("柳州", 59046);
        dic.Add("贺州地区", 59065);
        dic.Add("韶关", 59082);
        dic.Add("漳州", 59126);
        dic.Add("泉州", 59131);
        dic.Add("厦门", 59134);
        dic.Add("百色", 59211);
        dic.Add("来宾", 59242);
        dic.Add("贵港", 59249);
        dic.Add("梧州", 59265);
        dic.Add("肇庆", 59278);
        dic.Add("清远", 59280);
        dic.Add("广州", 59287);
        dic.Add("佛山", 59288);
        dic.Add("东莞", 59289);
        dic.Add("河源", 59293);
        dic.Add("潮州", 59312);
        dic.Add("揭阳", 59315);
        dic.Add("汕头", 59316);
        dic.Add("崇左", 59425);
        dic.Add("玉林", 59453);
        dic.Add("云浮", 59471);
        dic.Add("中山", 59485);
        dic.Add("珠海", 59488);
        dic.Add("深圳", 59493);
        dic.Add("汕尾", 59501);
        dic.Add("高雄", 59554);
        dic.Add("钦州", 59632);
        dic.Add("防城港", 59635);
        dic.Add("北海", 59644);
        dic.Add("湛江", 59658);
        dic.Add("茂名", 59659);
        dic.Add("阳江", 59663);
        dic.Add("海口", 59758);
        dic.Add("三亚", 59948);
        dic.Add("西沙", 59981);
        var rel = dic[key];
        return rel;
    }
}
